package com.java.interfaceLearn.JDK8New;

/**
 * @author Lenl
 * @create 2021-05-31 16:17
 */
public class SubClassTest {
    public static void main(String[] args) {
        SubClass s=new SubClass();
        //1.接口中定义的静态方法只能通过接口来调用
        CompareA.method1();
        //2.通过类的对象可以调用接口的默认方法，可以重写，调用时为重写后的方法
        s.method2();
        //3.如果子类(实现类)继承的父类和实现的接口中声明了同名同参方法，
        // 未重写时，默认调用父类中的方法--》父类优先原则
        s.method3();
        //4.如果实现类实现了多个接口，且其中定义了多个同名同参数默认方法，那么
        //未重写该方法时会报错，只能重写此方法
    }
}

class SubClass extends SuperClass implements CompareA{
    @Override
    public void method2() {
        System.out.println("SubClass:上海");
        //5.在子类（实现类）中调用父类、接口中被重写的方法
        super.method3();
        //调用接口中的默认方法
        CompareA.super.method3();
    }
}